package com.mes.common.util;

import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

@Component("configInfo")
public class ConfigInfo {
	/**
	 * 报表服务器地址
	 */
	@Value("${reportURL}")
	private String reportURL;
	public String getReportURL() {
		return reportURL;
	}
	
	/**
	 * 编码服务器的编码服务webService地址
	 */
	@Value("${codeWebServiceURL}")
	private String codeWebServiceURL;
	public String getCodeWebServiceURL() {
		return codeWebServiceURL;
	}
	
	/**
	 * 是否保留原来的批次
	 */
	@Value("${partTask.split.isKeepOld}")
	private String isKeepOldPartTask;
	public String getIsKeepOldPartTask() {
		return isKeepOldPartTask;
	}

	/**
	 * 协作任务是否和调度集成，集成=on，不集成=off
	 */
	@Value("${coSchedule}")
	private String coSchedule;
	public String getCoSchedule() {
		return coSchedule;
	}
	
	/**
	 * 对调度器要求反馈事件给予响应的限制，不限制对调度的反馈，取值= on 或者 off
	 */
	@Value("${cotask.feedbackToScheduler.parameters.coSchedule}")
	private String cotaskFeedbackToSchedulerParametersCoSchedule;
	public String getCotaskFeedbackToSchedulerParametersCoSchedule() {
		return cotaskFeedbackToSchedulerParametersCoSchedule;
	}
	
	/**
	 *  任务强制完成按部门开关,on表示限制，缺省为不限制off
	 */
	@Value("${Task.deptForceFinish}")
	private String taskDeptForceFinish;
	public String getTaskDeptForceFinish() {
		return taskDeptForceFinish;
	}
	/**
	 *  如果任务强制完成按部门开关的值为on，那么此参数定义哪些部门可以强制完成任务
	 */
	@Value("${Task.deptForceFinish.dept}")
	private String taskDeptForceFinishDept ;
	public String getTaskDeptForceFinishDept() {
		return taskDeptForceFinishDept;
	}
	
	/**
	 *  任务完工节点,on表示在检验完成后任务才算完成，否则off
	 */
	@Value("${Task.CompleteByCheck}")
	private String taskCompleteByCheck;
	public String getTaskCompleteByCheck() {
		return taskCompleteByCheck;
	}
	/**
	 *  配置完工任务的部门
	 */
	@Value("${Task.CompleteByCheck.dept}")
	private String taskCompleteByCheckDept ;
	public String getTaskCompleteByCheckDept() {
		return taskCompleteByCheckDept;
	}
	
	/**
	 *  配置任务是否允许超额完成
	 */
	@Value("${Task.allowExcessFeedBack}")
	private String taskAllowExcessFeedBack ;
	public String getTaskAllowExcessFeedBack() {
		return taskAllowExcessFeedBack;
	}
	
	/**
	 *  产生工序任务的首检任务的时机
	 *  1、任务开始时startTask
	 *  2、任务派工时dispatchTask
	 */
	@Value("${operationTask.createFirstCheckTaskTime}")
	private String operationTaskCreateFirstCheckTaskTime ;
	public String getOperationTaskCreateFirstCheckTaskTime() {
		return operationTaskCreateFirstCheckTaskTime;
	}
	
	/**
	 *  产生工序任务的任务的时机 
	 *  1、任务创建时createTask
	 *  2、任务开始时startTask
	 *  3、任务派工时dispatchTask
	 */
	@Value("${operationTask.createCheckTaskTime}")
	private String operationTaskCreateCheckTaskTime ;
	public String getOperationTaskCreateCheckTaskTime() {
		return operationTaskCreateCheckTaskTime;
	}
	
	/**
	 *  需要执行任务级联产生与级联删除的部门
	 */
	@Value("${taskCascadeDept}")
	private String taskCascadeDept ;
	public String getTaskCascadeDept() {
		return taskCascadeDept;
	}
	
	
	
	
	/**
	 * MPM系统集成参数，集成文件的读取路径（ftp）
	 */
	@Value("${mpm.ftpItemDataFilePath}")
	private String mpmFtpItemDataFilePath;
	public String getMpmFtpItemDataFilePath() {
		return mpmFtpItemDataFilePath;
	}
	/**
	 * MPM系统集成参数，ftp路径访问的用户名
	 */
	@Value("${mpm.ftpUserName}")
	private String mpmFtpUserName;
	public String getMpmFtpUserName() {
		return mpmFtpUserName;
	}
	/**
	 * MPM系统集成参数，ftp路径访问的密码
	 */
	@Value("${mpm.ftpPassword}")
	private String mpmFtpPassword;
	public String getMpmFtpPassword() {
		return mpmFtpPassword;
	}
	
}
